using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using QLNhaSach.BUS;
using QLNhaSach.BUS.DTO;
using QLNhaSach.DAO;

namespace QLNhaSach.BUS
{
    public enum NhanVienQuanLySachBUSResult
    {
        OK,
        DAOERROR
    }

    public class NhanVienQuanLySachBUS
    {
        // Hien thi DS tat ca Sach trong csdl
        public static DataTable DSSach()
        {
            return NhanVienQuanLySachDAO.DSSach();
        }

        // Them Sach Moi vao trong csdl
        public static NhanVienQuanLySachBUSResult ThemSach(SachDTO book)
        {
            if (!NhanVienQuanLySachDAO.ThemSach(book))
                return NhanVienQuanLySachBUSResult.DAOERROR;
            return NhanVienQuanLySachBUSResult.OK;
        }

        // Cap Nhat Thong Tin Sach trong csdl
        public static NhanVienQuanLySachBUSResult CapNhatTTSach(SachDTO book)
        {
            if (!NhanVienQuanLySachDAO.CapNhatTTSach(book))
                return NhanVienQuanLySachBUSResult.DAOERROR;
            return NhanVienQuanLySachBUSResult.OK;
        }

        // Xoa Sach trong csdl
        public static NhanVienQuanLySachBUSResult XoaSach(SachDTO book)
        {
            if (!NhanVienQuanLySachDAO.XoaSach(book))
                return NhanVienQuanLySachBUSResult.DAOERROR;
            return NhanVienQuanLySachBUSResult.OK;
        }

        //Hien thi DS tat ca TheLoai co trong csdl
        public static DataTable DSTheLoai()
        {
            return TheLoaiDAO.DSTheLoai();
        }

        //Them the loai moi
        public static NhanVienQuanLySachBUSResult ThemTheLoai(TheLoaiDTO tl)
        {
            if (TheLoaiDAO.ThemTheLoai(tl))
                return NhanVienQuanLySachBUSResult.OK;
            return NhanVienQuanLySachBUSResult.DAOERROR;
        }

        // Hien thi DS tat ca TacGia co trong csdl
        public static DataTable DSTacGia()
        {
            return TacGiaDAO.DSTacGia();
        }

        //Them tac gia moi
        public static NhanVienQuanLySachBUSResult ThemTacGia(TacGiaDTO tg)
        {
            if (TacGiaDAO.ThemTacGia(tg))
                return NhanVienQuanLySachBUSResult.OK;
            return NhanVienQuanLySachBUSResult.DAOERROR;
        }

        // Hien thi DS tat cac NXB co trong csdl
        public static DataTable DSNXB()
        {
            return NhaXBDAO.DanhSachNXB();
        }

        //Them nha xuat ban moi
        public static NhanVienQuanLySachBUSResult ThemNXB(NhaXBDTO nxb)
        {
            if (NhaXBDAO.ThemNhaXB(nxb))
                return NhanVienQuanLySachBUSResult.OK;
            return NhanVienQuanLySachBUSResult.DAOERROR;
        }

        //Kiem tra ten sach
        public static DataTable KiemTraTenSach(string tenSach)
        {
            return SachDAO.KiemTraTenSach(tenSach);
        }
    }
}
